// 判断节点是否是父级节点

/**
 * 
 * @param {String} currentRoleid 当前登录角色的id
 * @param {String} targetRoleid 操作的目标角色的id
 * @param {[]any} roleList 完整的角色表
 */

// 找孩子，判断传入的这个角色id是否是当前角色的孩子，如果是自己的孩子就return true
let isChild =(currentRoleid,targetRoleid,roleList)=>{
    // 从完整的角色表中根据目标角色的id找到目标角色的信息
    let targetRole = roleList.find(item=>item.roleid === targetRoleid)
    // 声明一个布尔值，储存最终的判断结果，是不是自己的孩子
    let isChild = false
    // 使用while循环，如果目标角色的parentid不等于0，那就一直循环
    while(targetRole && targetRole.parentid){
        // 进行对比，如果目标角色的parentid等于当前角色的id，那就是自己的孩子
        if(targetRole.parentid === currentRoleid){
            isChild = true
            //跳出循环
            break
        }else{
            // 如果不是自己的孩子，那就继续循环，找目标角色的父级
            targetRole = roleList.find(item=>item.roleid === targetRole.parentid)
        }
    }
    // 返回最终的结果
    return isChild

    // 判断如果当前角色id和目标角色id相同那就是自己操作自己 直接返回true
    // if(currentRoleid === targetRoleid){return true}
    // // 先通过当前角色的id找到当前角色的信息
    // let currentRole = roleList.find(item=>item.roleid === currentRoleid)
    // if(currentRole){
    //     // 递归查找 通过传入的当前角色的parentid找目标角色父级
    //    return isParent(currentRole.parentid,targetRoleid,roleList)
    // }else{
    //     return false
    // }
}

export default isChild